package org.microframework.cloud.system.service;

import org.microframework.base.core.domain.R;
import org.microframework.cloud.system.model.domain.User;
import java.util.List;
import java.util.Optional;

/**
 * 系统用户服务接口
 */
public interface ISysUserService {
    
    /**
     * 根据用户名查找用户
     *
     * @param username 用户名
     * @return 用户对象
     */
    Optional<User> findByUsername(String username);
    
	/**
	 * 根据用户名查询未删除的用户
	 */
	Optional<User> findByUsernameAndNotDeleted(String username);

	/**
	 * 查询用户的角色列表
	 */
	List<String> findUserRoles(String userId);

	/**
	 * 查询用户的权限列表
	 */
	List<String> findUserPermissions(String userId);

	R<?> loadUserByUsername(String username);
} 